package com.lan.test01;

import java.lang.reflect.Constructor;
import java.lang.reflect.Field;

public class Test03 {
    public static void main(String[] args) throws ClassNotFoundException, NoSuchFieldException {

        Class clazz = Class.forName("com.lan.domain.Student");

        //返回所有公共成员变量对象的数组
        Field[] fields = clazz.getFields();
        for (Field field : fields) {
            System.out.println(field);
        }

        //返回所有成员变量对象的数组，包括私有
        Field[] declaredFields = clazz.getDeclaredFields();
        for (Field field : declaredFields) {
            System.out.println(field);
        }

        //返回单个公共成员变量对象
        //获取的成员变量必须真实存在并且是public修饰的
        //不然会出 NoSuchFieldException
        Field phone = clazz.getField("phone");
        System.out.println(phone);

        //返回单个成员变量对象，包括私有也可以返回
        Field name = clazz.getDeclaredField("name");
        System.out.println(name);

    }
}
